home *** CD-ROM | disk | FTP | other *** search
- /*********************************************/
- /* */
- /* Designer (C) Ian OConnor 1994 */
- /* */
- /* Designer Produced C include file */
- /* */
- /*********************************************/
-
- #include <exec/types.h>
- #include <exec/memory.h>
- #include <dos/dosextens.h>
- #include <intuition/screens.h>
- #include <intuition/intuition.h>
- #include <intuition/gadgetclass.h>
- #include <libraries/gadtools.h>
- #include <diskfont/diskfont.h>
- #include <utility/utility.h>
- #include <graphics/gfxbase.h>
- #include <workbench/workbench.h>
- #include <graphics/scale.h>
- #include <clib/exec_protos.h>
- #include <clib/wb_protos.h>
- #include <clib/intuition_protos.h>
- #include <clib/gadtools_protos.h>
- #include <clib/graphics_protos.h>
- #include <clib/utility_protos.h>
- #include <string.h>
- #include <clib/diskfont_protos.h>
-
- #include "ControlGUI.h"
-
-
- UWORD HbbsLogo_brushColours[] = /* Use LoadRGB4 to use this. */
- {
- 2730,0,4095,1675,2457,3003,2985,4026
- };
-
- UWORD HbbsLogo_brushData[375] =
- {
- 0,0,0,0,0,0,0,0,0,0,256,4096,0,0,0,256,4127,49409,64528,8129,256,4112,257,16,
- 4097,256,4112,257,16,4127,256,4112,257,16,4096,0,4096,768,48,0,0,4096,512,32,0,
- 508,4127,49153,64515,65281,256,4112,257,16,1,256,4112,257,16,1,256,4112,257,16,
- 16385,256,4096,256,16,1,256,4096,768,48,3,32513,63487,65151,65507,65534,0,0,0,
- 0,0,0,0,0,0,0,0,8704,32768,47488,32768,0,8704,32770,8744,32768,0,658,45218,
- 8200,32768,0,14868,42276,8584,32768,0,8804,41252,8232,32768,0,8768,41000,8232,
- 32768,0,8835,41192,8648,32768,0,0,0,0,0,65027,61439,64767,65479,65532,65027,
- 61439,65279,65519,65534,65027,61408,16126,1007,57406,65027,61408,16126,1007,
- 57406,65027,61408,16126,1007,57344,65027,61408,16126,1007,57344,65535,61439,
- 64767,65487,65532,65535,61439,64767,65479,65534,65027,61408,16126,992,254,
- 65027,61408,16126,992,254,65027,61408,16126,1007,33022,65027,61408,16126,1007,
- 33022,65027,61439,65279,65519,65534,65027,61439,64767,65479,65532,0,0,0,0,0,0,
- 0,0,0,0,0,17409,1,62353,0,0,17409,4,17497,0,0,17703,29124,17429,0,0,32041,
- 19016,17299,0,0,17609,16968,16465,0,0,17545,16976,17489,0,0,17671,16848,17297,
- 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,0,0,0,0
- };
-
- struct Menu *CtrlMenu = NULL;
-
- struct NewMenu CtrlMenuNewMenu[] =
- {
- NM_TITLE, (STRPTR)"HBBS" , NULL , 0, NULL, (APTR)~0,
- NM_ITEM , (STRPTR)"About" , (STRPTR)"?", 0, 0L, (APTR)~0,
- NM_ITEM , (STRPTR)"Screen Mode" , (STRPTR)"M", 0, 0L, (APTR)~0,
- NM_ITEM , NM_BARLABEL , 0 , 0, 0L, (APTR)~0,
- NM_ITEM , (STRPTR)"Quit!" , (STRPTR)"Q", 0, 0L, (APTR)~0,
- NM_END , NULL , NULL , 0, 0L, (APTR)~0
- };
-
- ULONG CtrlMenuTags[] =
- {
- (GT_TagBase+67), TRUE,
- (GTMN_TextAttr), (ULONG)&HBBS8066,
- (TAG_DONE)
- };
-
- ULONG BevelTags[] =
- {
- (GTBB_Recessed), TRUE,
- (GT_VisualInfo), 0,
- (TAG_DONE)
- };
-
- struct Window *Ctrl = NULL;
- APTR CtrlVisualInfo;
- APTR CtrlDrawInfo;
- struct Gadget *CtrlGList;
- struct Gadget *CtrlGadgets[25];
- UBYTE CtrlFirstRun = 0;
-
- STRPTR Ctrl_LV1_CycleLabels[] =
- {
- (STRPTR)"Last Callers",
- (STRPTR)"Last Downloads",
- (STRPTR)"Last Uploads",
- (STRPTR)"Last Pagers",
- (STRPTR)"Last PWFails",
- (STRPTR)"Last Carrier",
- NULL
- };
-
- ULONG CtrlGadgetTags[] =
- {
- (GTLV_Selected), 0,
- (TAG_END),
- (GTCY_Labels), (ULONG)&Ctrl_LV1_CycleLabels[0],
- (TAG_END),
- (GTLV_Selected), 0,
- (TAG_END),
- (GTLV_Selected), 0,
- (TAG_END),
- (GTLV_Selected), 0,
- (TAG_END),
- (GA_Disabled), TRUE,
- (TAG_END),
- (GA_Disabled), TRUE,
- (TAG_END),
- (GA_Disabled), TRUE,
- (TAG_END),
- (GA_Disabled), TRUE,
- (TAG_END),
- (GA_Disabled), TRUE,
- (TAG_END),
- (GA_Disabled), TRUE,
- (TAG_END),
- (GA_Disabled), TRUE,
- (TAG_END),
- (GA_Disabled), TRUE,
- (TAG_END),
- (GA_Disabled), TRUE,
- (TAG_END),
- (GA_Disabled), TRUE,
- (TAG_END),
- (GTTX_Text), (ULONG)" -=( HydraBBS (C) 1996 - Deluxe Software Ltd! )=-",
- (TAG_END),
- };
-
- UWORD CtrlGadgetTypes[] =
- {
- LISTVIEW_KIND,
- CYCLE_KIND,
- BUTTON_KIND,
- LISTVIEW_KIND,
- BUTTON_KIND,
- BUTTON_KIND,
- BUTTON_KIND,
- BUTTON_KIND,
- BUTTON_KIND,
- BUTTON_KIND,
- LISTVIEW_KIND,
- BUTTON_KIND,
- BUTTON_KIND,
- LISTVIEW_KIND,
- BUTTON_KIND,
- BUTTON_KIND,
- BUTTON_KIND,
- BUTTON_KIND,
- BUTTON_KIND,
- BUTTON_KIND,
- BUTTON_KIND,
- BUTTON_KIND,
- BUTTON_KIND,
- BUTTON_KIND,
- TEXT_KIND,
- };
-
- struct NewGadget CtrlNewGad[] =
- {
- 93, 30, 144, 60, NULL, &HBBS8066, Ctrl_LV1, 1, NULL, (APTR)&CtrlGadgetTags[0],
- 93, 14, 144, 15, NULL, &HBBS8066, Ctrl_LV1_Cycle, 1, NULL, (APTR)&CtrlGadgetTags[3],
- 93, 1, 144, 12, (UBYTE *)"Information", &HBBS8066, Ctrl_LV1_Info, 16, NULL, NULL,
- 1, 14, 90, 77, NULL, &HBBS8066, Ctrl_LV2_Nodes, 4, NULL, (APTR)&CtrlGadgetTags[6],
- 205, 91, 67, 13, (UBYTE *)"Window", &HBBS8066, Ctrl_Window, 16, NULL, NULL,
- 137, 91, 67, 13, (UBYTE *)"Watch", &HBBS8066, Ctrl_Screen, 16, NULL, NULL,
- 69, 91, 67, 13, (UBYTE *)"Stop", &HBBS8066, Ctrl_Stop, 16, NULL, NULL,
- 1, 91, 67, 13, (UBYTE *)"Start", &HBBS8066, Ctrl_Start, 16, NULL, NULL,
- 346, 1, 105, 12, (UBYTE *)"Configure", &HBBS8066, Ctrl_Configure, 16, NULL, NULL,
- 239, 1, 105, 12, (UBYTE *)"Shutdown All", &HBBS8066, Ctrl_Shutdown, 16, NULL, NULL,
- 452, 1, 179, 132, NULL, &HBBS8066, Ctrl_LV3_Commands, 1, NULL, (APTR)&CtrlGadgetTags[9],
- 273, 91, 67, 13, (UBYTE *)"Config", &HBBS8066, Ctrl_Config, 16, NULL, NULL,
- 1, 1, 91, 12, (UBYTE *)"Status", &HBBS8066, Ctrl_Status, 16, NULL, NULL,
- 239, 14, 212, 76, NULL, &HBBS8066, Ctrl_Who, 1, NULL, (APTR)&CtrlGadgetTags[12],
- 273, 105, 67, 13, (UBYTE *)"<None>", &HBBS8066, Ctrl_5, 16, NULL, (APTR)&CtrlGadgetTags[15],
- 205, 105, 67, 13, (UBYTE *)"<None>", &HBBS8066, Ctrl_4, 16, NULL, (APTR)&CtrlGadgetTags[18],
- 137, 105, 67, 13, (UBYTE *)"<None>", &HBBS8066, Ctrl_3, 16, NULL, (APTR)&CtrlGadgetTags[21],
- 69, 105, 67, 13, (UBYTE *)"<None>", &HBBS8066, Ctrl_2, 16, NULL, (APTR)&CtrlGadgetTags[24],
- 1, 105, 67, 13, (UBYTE *)"<None>", &HBBS8066, Ctrl_1, 16, NULL, (APTR)&CtrlGadgetTags[27],
- 1, 119, 67, 13, (UBYTE *)"<None>", &HBBS8066, Ctrl_Gad19, 16, NULL, (APTR)&CtrlGadgetTags[30],
- 69, 119, 67, 13, (UBYTE *)"<None>", &HBBS8066, Ctrl_7, 16, NULL, (APTR)&CtrlGadgetTags[33],
- 137, 119, 67, 13, (UBYTE *)"<None>", &HBBS8066, Ctrl_8, 16, NULL, (APTR)&CtrlGadgetTags[36],
- 205, 119, 67, 13, (UBYTE *)"<None>", &HBBS8066, Ctrl_9, 16, NULL, (APTR)&CtrlGadgetTags[39],
- 273, 119, 67, 13, (UBYTE *)"<None>", &HBBS8066, Ctrl_10, 16, NULL, (APTR)&CtrlGadgetTags[42],
- 69, 134, 560, 12, (UBYTE *)"Status:", &HBBS8066, Ctrl_StatusText, 1, NULL, (APTR)&CtrlGadgetTags[45],
- };
- UWORD CtrlZoomInfo[4] = { 0, 10, 196, 11 };
-
- struct IntuiText CtrlCfgTexts[] =
- {
- 2, 0, JAM2, 16, 3, &topa81281, (UBYTE *)"Screen Settings", &CtrlCfgTexts[1],
- 2, 0, JAM2, 16, 39, &topa81281, (UBYTE *)"Misc Settings", NULL
- };
-
- struct Window *CtrlCfg = NULL;
- APTR CtrlCfgVisualInfo;
- APTR CtrlCfgDrawInfo;
- struct Gadget *CtrlCfgGList;
- struct Gadget *CtrlCfgGadgets[3];
- UBYTE CtrlCfgFirstRun = 0;
-
- UWORD CtrlCfgGadgetTypes[] =
- {
- BUTTON_KIND,
- BUTTON_KIND,
- BUTTON_KIND,
- };
-
- struct NewGadget CtrlCfgNewGad[] =
- {
- 11, 13, 110, 13, (UBYTE *)"Pick Mode", &HBBS8066, CtrlCfg_ScreenMode, 16, NULL, NULL,
- 124, 13, 110, 13, (UBYTE *)"Save", &HBBS8066, CtrlCfg_Save, 16, NULL, NULL,
- 11, 50, 110, 13, (UBYTE *)"BBS Config", &HBBS8066, CtrlCfg_EditBBSConfig, 16, NULL, NULL,
- };
-
- struct IntuiText LoadingTexts[] =
- {
- 2, 0, JAM2, 12, 4, &topa81281, (UBYTE *)"HydraBBS V0.8", &LoadingTexts[1],
- 2, 3, JAM1, 118, 15, &topa81281, (UBYTE *)"(C) 1995 Dominic Clifton", &LoadingTexts[2],
- 2, 1, JAM1, 137, 25, &topa81281, (UBYTE *)"Deluxe Software Ltd", &LoadingTexts[3],
- 2, 3, JAM2, 139, 38, &topa81281, (UBYTE *)" ALPHA VERSION 05 ", &LoadingTexts[4],
- 2, 3, JAM1, 17, 58, &topa81281, (UBYTE *)"This program is SHAREWARE, if you", &LoadingTexts[5],
- 2, 3, JAM1, 17, 67, &topa81281, (UBYTE *)"use it alot then please register it!", &LoadingTexts[6],
- 2, 3, JAM1, 17, 77, &topa81281, (UBYTE *)"For details see 'HBBS.Guide'", &LoadingTexts[7],
- 2, 3, JAM1, 17, 86, &topa81281, (UBYTE *)"More hard work has gone into this", &LoadingTexts[8],
- 2, 3, JAM1, 17, 95, &topa81281, (UBYTE *)"program than you can imagine, and", &LoadingTexts[9],
- 2, 3, JAM1, 17, 105, &topa81281, (UBYTE *)"it's only fair that I should get", &LoadingTexts[10],
- 2, 3, JAM1, 17, 114, &topa81281, (UBYTE *)"something back for it!", &LoadingTexts[11],
- 2, 3, JAM1, 45, 133, &topa81281, (UBYTE *)"SHAREWARE SHAREWARE SHAREWARE", NULL
- };
-
- struct Window *Loading = NULL;
- APTR LoadingVisualInfo;
- APTR LoadingDrawInfo;
- UBYTE LoadingFirstRun = 0;
-
- UWORD CtrlScrndefpens = {65535};
-
- UWORD CtrlScrnColors[] =
- {
- 0,10,10,10,
- 1,0,0,0,
- 65535,0,0,0
- };
-
- ULONG CtrlScrnError=0;
-
- ULONG CtrlScrnTags[] =
- {
- (SA_Title),(ULONG)"HBBS Main Control Screen (C) 1995 Hydra of Tension!",
- (SA_PubName),(ULONG)"CtrlScrn",
- (SA_Depth) ,2,
- (SA_Left) ,0,
- (SA_Top) ,0,
- (SA_Width) ,640,
- (SA_Height) ,256,
- (SA_DisplayID),167936,
- (SA_Overscan),1,
- (SA_Font),(ULONG)&HBBS8066,
- (SA_Behind),1,
- (SA_Quiet),0,
- (SA_ShowTitle),1,
- (SA_AutoScroll),1,
- (SA_FullPalette),1,
- (SA_ErrorCode),(ULONG)(&CtrlScrnError),
- (SA_Pens),(ULONG)&CtrlScrndefpens,
- (SA_Colors),(ULONG)CtrlScrnColors,
- (TAG_DONE)
- };
-
- struct Library *DiskfontBase = NULL;
- struct Library *GadToolsBase = NULL;
- struct GfxBase *GfxBase = NULL;
- struct IntuitionBase *IntuitionBase = NULL;
-
- struct Image HbbsLogo_brush = { 0, 0, 80, 25, 3, NULL, 7, 0, NULL};
-
- APTR WaitPointer = NULL;
- UWORD WaitPointerData[] =
- {
- 0x0000,0x0000,0x0400,0x07c0,
- 0x0000,0x07c0,0x0100,0x0380,
- 0x0000,0x07e0,0x07c0,0x1ff8,
- 0x1ff0,0x3fec,0x3ff8,0x7fde,
- 0x3ff8,0x7fbe,0x7ffc,0xff7f,
- 0x7ffc,0xffff,0x7ffc,0xffff,
- 0x3ff8,0x7ffe,0x3ff8,0x7ffe,
- 0x1ff0,0x3ffc,0x07c0,0x1ff8,
- 0x0000,0x07e0,0x0000,0x0000
- };
-
- struct TextAttr HBBS8066 = { (STRPTR)"HBBS.font", 8, 0, 66 };
- struct TextAttr topa81281 = { (STRPTR)"topaz", 8, 128, 1 };
-
- int MakeMenuCtrlMenu( APTR MenuVisualInfo )
- {
- if (NULL == (CtrlMenu = CreateMenusA( CtrlMenuNewMenu, NULL)))
- return( 1L );
- LayoutMenusA( CtrlMenu, MenuVisualInfo, (struct TagItem *)(&CtrlMenuTags[0]));
- return( 0L );
- }
-
- void RendWindowCtrl( struct Window *Win, void *vi )
- {
- UWORD offx = Win->BorderLeft;
- UWORD offy = Win->BorderTop;
- if (Win != NULL)
- {
- DrawImage( Win->RPort, &HbbsLogo_brush, 357+offx, 99+offy);
- BevelTags[3] = (ULONG)vi;
- DrawBevelBoxA( Win->RPort, 1+offx,134+offy,630,12, (struct TagItem *)(&BevelTags[2]));
- DrawBevelBoxA( Win->RPort, 341+offx,91+offy,110,41, (struct TagItem *)(&BevelTags[2]));
- DrawBevelBoxA( Win->RPort,341+4+offx,91+2+offy,110-8,41-4, (struct TagItem *)(&BevelTags[0]));
- }
- }
-
- int OpenCtrlWindow( struct Screen *Scr)
- {
- UWORD offx, offy;
- UWORD loop;
- struct NewGadget newgad;
- struct Gadget *Gad;
- struct Gadget *Gad2;
- APTR Cla;
- if (CtrlFirstRun == 0)
- {
- CtrlFirstRun = 1;
- }
- if (Ctrl == NULL)
- {
- offx = Scr->WBorLeft;
- offy = Scr->WBorTop + Scr->Font->ta_YSize+1;
- if (NULL != ( CtrlVisualInfo = GetVisualInfoA( Scr, NULL)))
- {
- if (NULL != ( CtrlDrawInfo = GetScreenDrawInfo( Scr)))
- {
- CtrlGList = NULL;
- Gad = CreateContext( &CtrlGList);
- for ( loop=0 ; loop<25 ; loop++ )
- if (CtrlGadgetTypes[loop] != 198)
- {
- CopyMem((char * )&CtrlNewGad[loop], ( char * )&newgad, (long)sizeof( struct NewGadget ));
- newgad.ng_VisualInfo = CtrlVisualInfo;
- newgad.ng_LeftEdge += offx;
- newgad.ng_TopEdge += offy;
- CtrlGadgets[ loop ] = NULL;
- CtrlGadgets[ newgad.ng_GadgetID - CtrlFirstID ] = Gad = CreateGadgetA( CtrlGadgetTypes[loop], Gad, &newgad, newgad.ng_UserData );
- }
- for ( loop=0 ; loop<25 ; loop++ )
- if (CtrlGadgetTypes[loop] == 198)
- {
- CtrlGadgets[ loop ] = NULL;
- Cla = NULL;
- if (Gad)
- CtrlGadgets[ loop ] = Gad2 = (struct Gadget *) NewObjectA( (struct IClass *)Cla, CtrlNewGad[ loop ].ng_GadgetText, CtrlNewGad[ loop ].ng_UserData );
- }
- if (Gad != NULL)
- {
- if (NULL != (Ctrl = OpenWindowTags( NULL, (WA_Left), 0,
- (WA_Top), 11,
- (WA_Width), 636+offx,
- (WA_Height), 149+offy,
- (WA_Title), "HBBS Control",
- (WA_ScreenTitle), "(C) Deluxe Software Ltd. Written By Dominic Clifton (Hydra/LSD)",
- (WA_MinWidth), 196,
- (WA_MinHeight), 11,
- (WA_MaxWidth), 640,
- (WA_MaxHeight), 160,
- (WA_DragBar), TRUE,
- (WA_DepthGadget), TRUE,
- (WA_CloseGadget), TRUE,
- (WA_Activate), TRUE,
- (WA_Dummy+0x30), TRUE,
- (WA_SmartRefresh), TRUE,
- (WA_AutoAdjust), TRUE,
- (WA_Gadgets), CtrlGList,
- (WA_Zoom), CtrlZoomInfo,
- (WA_PubScreen) , (LONG)Scr,
- (WA_IDCMP),6292348,
- (TAG_END))))
- {
- RendWindowCtrl(Ctrl, CtrlVisualInfo );
- GT_RefreshWindow( Ctrl, NULL);
- RefreshGList( CtrlGList, Ctrl, NULL, ~0);
- if (CtrlMenu == NULL)
- MakeMenuCtrlMenu( CtrlVisualInfo);
- if (CtrlMenu != NULL)
- {
- SetMenuStrip( Ctrl, CtrlMenu);
- return( 0L );
- }
- CloseWindow( Ctrl );
- }
- }
- FreeGadgets( CtrlGList);
- FreeScreenDrawInfo( Scr, CtrlDrawInfo );
- }
- FreeVisualInfo( CtrlVisualInfo );
- }
- }
- else
- {
- WindowToFront(Ctrl);
- ActivateWindow(Ctrl);
- return( 0L );
- }
- return( 1L );
- }
-
- void CloseCtrlWindow( void )
- {
- if (Ctrl != NULL)
- {
- ClearMenuStrip( Ctrl);
- FreeMenus( CtrlMenu);
- CtrlMenu = NULL;
- FreeScreenDrawInfo( Ctrl->WScreen, CtrlDrawInfo );
- CtrlDrawInfo = NULL;
- CloseWindow( Ctrl);
- Ctrl = NULL;
- FreeVisualInfo( CtrlVisualInfo);
- FreeGadgets( CtrlGList);
- }
- }
-
- void RendWindowCtrlCfg( struct Window *Win, void *vi )
- {
- int loop;
- UWORD offx = Win->BorderLeft;
- UWORD offy = Win->BorderTop;
- if (Win != NULL)
- {
- BevelTags[3] = (ULONG)vi;
- DrawBevelBoxA( Win->RPort, 2+offx,5+offy,242,29, (struct TagItem *)(&BevelTags[0]));
- DrawBevelBoxA( Win->RPort,2+4+offx,5+2+offy,242-8,29-4, (struct TagItem *)(&BevelTags[2]));
- DrawBevelBoxA( Win->RPort, 2+offx,41+offy,241,29, (struct TagItem *)(&BevelTags[0]));
- DrawBevelBoxA( Win->RPort,2+4+offx,41+2+offy,241-8,29-4, (struct TagItem *)(&BevelTags[2]));
- for( loop=0; loop<2; loop++)
- if (CtrlCfgTexts[loop].ITextFont==NULL)
- CtrlCfgTexts[loop].ITextFont=Win->WScreen->Font;
- PrintIText( Win->RPort, CtrlCfgTexts, offx, offy);
- }
- }
-
- int OpenCtrlCfgWindow( void )
- {
- struct Screen *Scr;
- UWORD offx, offy;
- UWORD loop;
- struct NewGadget newgad;
- struct Gadget *Gad;
- struct Gadget *Gad2;
- APTR Cla;
- if (CtrlCfgFirstRun == 0)
- {
- CtrlCfgFirstRun = 1;
- }
- if (CtrlCfg == NULL)
- {
- Scr = LockPubScreen((UBYTE *)"CtrlScrn");
- if (NULL != Scr)
- {
- offx = Scr->WBorLeft;
- offy = Scr->WBorTop + Scr->Font->ta_YSize+1;
- if (NULL != ( CtrlCfgVisualInfo = GetVisualInfoA( Scr, NULL)))
- {
- if (NULL != ( CtrlCfgDrawInfo = GetScreenDrawInfo( Scr)))
- {
- CtrlCfgGList = NULL;
- Gad = CreateContext( &CtrlCfgGList);
- for ( loop=0 ; loop<3 ; loop++ )
- if (CtrlCfgGadgetTypes[loop] != 198)
- {
- CopyMem((char * )&CtrlCfgNewGad[loop], ( char * )&newgad, (long)sizeof( struct NewGadget ));
- newgad.ng_VisualInfo = CtrlCfgVisualInfo;
- newgad.ng_LeftEdge += offx;
- newgad.ng_TopEdge += offy;
- CtrlCfgGadgets[ loop ] = NULL;
- CtrlCfgGadgets[ newgad.ng_GadgetID - CtrlCfgFirstID ] = Gad = CreateGadgetA( CtrlCfgGadgetTypes[loop], Gad, &newgad, newgad.ng_UserData );
- }
- for ( loop=0 ; loop<3 ; loop++ )
- if (CtrlCfgGadgetTypes[loop] == 198)
- {
- CtrlCfgGadgets[ loop ] = NULL;
- Cla = NULL;
- if (Gad)
- CtrlCfgGadgets[ loop ] = Gad2 = (struct Gadget *) NewObjectA( (struct IClass *)Cla, CtrlCfgNewGad[ loop ].ng_GadgetText, CtrlCfgNewGad[ loop ].ng_UserData );
- }
- if (Gad != NULL)
- {
- if (NULL != (CtrlCfg = OpenWindowTags( NULL, (WA_Left), 353,
- (WA_Top), 26,
- (WA_Width), 249+offx,
- (WA_Height), 74+offy,
- (WA_Title), "Configure",
- (WA_MinWidth), 150,
- (WA_MinHeight), 25,
- (WA_MaxWidth), 1200,
- (WA_MaxHeight), 1200,
- (WA_DragBar), TRUE,
- (WA_DepthGadget), TRUE,
- (WA_CloseGadget), TRUE,
- (WA_Activate), TRUE,
- (WA_SmartRefresh), TRUE,
- (WA_AutoAdjust), TRUE,
- (WA_Gadgets), CtrlCfgGList,
- (WA_PubScreen) , (LONG)Scr,
- (WA_IDCMP),580,
- (TAG_END))))
- {
- RendWindowCtrlCfg(CtrlCfg, CtrlCfgVisualInfo );
- GT_RefreshWindow( CtrlCfg, NULL);
- RefreshGList( CtrlCfgGList, CtrlCfg, NULL, ~0);
- UnlockPubScreen( NULL, Scr);
- return( 0L );
- }
- }
- FreeGadgets( CtrlCfgGList);
- FreeScreenDrawInfo( Scr, CtrlCfgDrawInfo );
- }
- FreeVisualInfo( CtrlCfgVisualInfo );
- }
- UnlockPubScreen( NULL, Scr);
- }
- }
- else
- {
- WindowToFront(CtrlCfg);
- ActivateWindow(CtrlCfg);
- return( 0L );
- }
- return( 1L );
- }
-
- void CloseCtrlCfgWindow( void )
- {
- if (CtrlCfg != NULL)
- {
- FreeScreenDrawInfo( CtrlCfg->WScreen, CtrlCfgDrawInfo );
- CtrlCfgDrawInfo = NULL;
- CloseWindow( CtrlCfg);
- CtrlCfg = NULL;
- FreeVisualInfo( CtrlCfgVisualInfo);
- FreeGadgets( CtrlCfgGList);
- }
- }
-
- void RendWindowLoading( struct Window *Win, void *vi )
- {
- int loop;
- UWORD offx = Win->BorderLeft;
- UWORD offy = Win->BorderTop;
- if (Win != NULL)
- {
- DrawImage( Win->RPort, &HbbsLogo_brush, 22+offx, 15+offy);
- BevelTags[3] = (ULONG)vi;
- DrawBevelBoxA( Win->RPort, 12+offx,54+offy,299,73, (struct TagItem *)(&BevelTags[0]));
- DrawBevelBoxA( Win->RPort, 2+offx,6+offy,319,143, (struct TagItem *)(&BevelTags[0]));
- DrawBevelBoxA( Win->RPort,2+4+offx,6+2+offy,319-8,143-4, (struct TagItem *)(&BevelTags[2]));
- DrawBevelBoxA( Win->RPort, 137+offx,37+offy,147,10, (struct TagItem *)(&BevelTags[0]));
- DrawBevelBoxA( Win->RPort,137+4+offx,37+2+offy,147-8,10-4, (struct TagItem *)(&BevelTags[2]));
- DrawBevelBoxA( Win->RPort, 12+offx,129+offy,299,15, (struct TagItem *)(&BevelTags[0]));
- for( loop=0; loop<12; loop++)
- if (LoadingTexts[loop].ITextFont==NULL)
- LoadingTexts[loop].ITextFont=Win->WScreen->Font;
- PrintIText( Win->RPort, LoadingTexts, offx, offy);
- }
- }
-
- int OpenLoadingWindow( void )
- {
- struct Screen *Scr;
- UWORD offx, offy;
- if (LoadingFirstRun == 0)
- {
- LoadingFirstRun = 1;
- }
- if (Loading == NULL)
- {
- Scr = LockPubScreen(NULL);
- if (NULL != Scr)
- {
- offx = Scr->WBorLeft;
- offy = Scr->WBorTop + Scr->Font->ta_YSize+1;
- if (NULL != ( LoadingVisualInfo = GetVisualInfoA( Scr, NULL)))
- {
- if (NULL != ( LoadingDrawInfo = GetScreenDrawInfo( Scr)))
- {
- if (NULL != (Loading = OpenWindowTags( NULL, (WA_Left), 162,
- (WA_Top), 70,
- (WA_Width), 327+offx,
- (WA_Height), 154+offy,
- (WA_Title), "HBBS - Loading",
- (WA_MinWidth), 150,
- (WA_MinHeight), 25,
- (WA_MaxWidth), 1200,
- (WA_MaxHeight), 1200,
- (WA_DragBar), TRUE,
- (WA_DepthGadget), TRUE,
- (WA_Activate), TRUE,
- (WA_SmartRefresh), TRUE,
- (WA_IDCMP),580,
- (TAG_END))))
- {
- RendWindowLoading(Loading, LoadingVisualInfo );
- UnlockPubScreen( NULL, Scr);
- return( 0L );
- }
- FreeScreenDrawInfo( Scr, LoadingDrawInfo );
- }
- FreeVisualInfo( LoadingVisualInfo );
- }
- UnlockPubScreen( NULL, Scr);
- }
- }
- else
- {
- WindowToFront(Loading);
- ActivateWindow(Loading);
- return( 0L );
- }
- return( 1L );
- }
-
- void CloseLoadingWindow( void )
- {
- if (Loading != NULL)
- {
- FreeScreenDrawInfo( Loading->WScreen, LoadingDrawInfo );
- LoadingDrawInfo = NULL;
- CloseWindow( Loading);
- Loading = NULL;
- FreeVisualInfo( LoadingVisualInfo);
- }
- }
-
- struct Screen *OpenCtrlScrnScreen(void)
- {
- CtrlScrnError = 0;
- return OpenScreenTagList(NULL,(struct TagItem *)CtrlScrnTags);
- }
-
- int OpenLibs( void )
- {
- if ( NULL != (DiskfontBase = OpenLibrary((UBYTE *)"diskfont.library" , 36)))
- if ( NULL != (GadToolsBase = OpenLibrary((UBYTE *)"gadtools.library" , 37)))
- if ( NULL != (GfxBase = (struct GfxBase * )OpenLibrary((UBYTE *)"graphics.library" , 37)))
- if ( NULL != (IntuitionBase = (struct IntuitionBase * )OpenLibrary((UBYTE *)"intuition.library" , 37)))
- return( 0L );
- CloseLibs();
- return( 1L );
- }
-
- void CloseLibs( void )
- {
- if (NULL != DiskfontBase )
- CloseLibrary( DiskfontBase );
- if (NULL != GadToolsBase )
- CloseLibrary( GadToolsBase );
- if (NULL != GfxBase )
- CloseLibrary( ( struct Library * )GfxBase );
- if (NULL != IntuitionBase )
- CloseLibrary( ( struct Library * )IntuitionBase );
- }
-
- int OpenDiskFonts( void )
- {
- int OKSoFar = 0;
- if (NULL == OpenDiskFont( &HBBS8066 ) )
- OKSoFar = 1;
- if (NULL == OpenDiskFont( &topa81281 ) )
- OKSoFar = 1;
- return ( OKSoFar );
- }
-
- int MakeImages( void )
- {
- UWORD failed = 0;
- if (NULL != (WaitPointer=AllocMem( 72, MEMF_CHIP)))
- CopyMem( WaitPointerData, WaitPointer, 72);
- else
- failed = 1;
- if (NULL != (HbbsLogo_brush.ImageData=AllocMem( 750, MEMF_CHIP)))
- CopyMem( HbbsLogo_brushData, HbbsLogo_brush.ImageData, 750);
- else
- failed = 1;
- if (failed==0)
- return( 0L );
- else
- {
- FreeImages();
- return( 1L );
- }
- }
-
- void FreeImages( void )
- {
- if (WaitPointer != NULL)
- FreeMem( WaitPointer, 72);
- WaitPointer = NULL;
- if (HbbsLogo_brush.ImageData != NULL)
- FreeMem(HbbsLogo_brush.ImageData, 750);
- HbbsLogo_brush.ImageData = NULL;
- }
-
-